-- BP 7.1.6 content: InstanceStateMachine syschar: 3 persistence-version: 7.1.6

INSERT INTO SM_ISM
	VALUES ("cdaf78e7-6eb4-4011-ade3-1790174ca0fb",
	"cbbb7c7b-8a2f-4e22-b17f-b8ab1d093e12");
INSERT INTO SM_SM
	VALUES ("cdaf78e7-6eb4-4011-ade3-1790174ca0fb",
	'',
	0);
INSERT INTO SM_MOORE
	VALUES ("cdaf78e7-6eb4-4011-ade3-1790174ca0fb");
INSERT INTO SM_LEVT
	VALUES ("abb87cd6-7b24-40d3-b8f2-e9469e966d4b",
	"cdaf78e7-6eb4-4011-ade3-1790174ca0fb",
	"00000000-0000-0000-0000-000000000000");
INSERT INTO SM_SEVT
	VALUES ("abb87cd6-7b24-40d3-b8f2-e9469e966d4b",
	"cdaf78e7-6eb4-4011-ade3-1790174ca0fb",
	"00000000-0000-0000-0000-000000000000");
INSERT INTO SM_EVT
	VALUES ("abb87cd6-7b24-40d3-b8f2-e9469e966d4b",
	"cdaf78e7-6eb4-4011-ade3-1790174ca0fb",
	"00000000-0000-0000-0000-000000000000",
	1,
	'create',
	0,
	'',
	'ORDD1',
	'');
INSERT INTO SM_LEVT
	VALUES ("e7e462a8-2e99-474e-b577-75f610ad544e",
	"cdaf78e7-6eb4-4011-ade3-1790174ca0fb",
	"00000000-0000-0000-0000-000000000000");
INSERT INTO SM_SEVT
	VALUES ("e7e462a8-2e99-474e-b577-75f610ad544e",
	"cdaf78e7-6eb4-4011-ade3-1790174ca0fb",
	"00000000-0000-0000-0000-000000000000");
INSERT INTO SM_EVT
	VALUES ("e7e462a8-2e99-474e-b577-75f610ad544e",
	"cdaf78e7-6eb4-4011-ade3-1790174ca0fb",
	"00000000-0000-0000-0000-000000000000",
	2,
	'destroy',
	0,
	'',
	'ORDD2',
	'');
INSERT INTO SM_STATE
	VALUES ("acdbc08a-20c0-41cb-8e95-1d737113d78a",
	"cdaf78e7-6eb4-4011-ade3-1790174ca0fb",
	"00000000-0000-0000-0000-000000000000",
	'Creating',
	1,
	0);
INSERT INTO SM_CH
	VALUES ("acdbc08a-20c0-41cb-8e95-1d737113d78a",
	"abb87cd6-7b24-40d3-b8f2-e9469e966d4b",
	"cdaf78e7-6eb4-4011-ade3-1790174ca0fb",
	"00000000-0000-0000-0000-000000000000",
	'');
INSERT INTO SM_SEME
	VALUES ("acdbc08a-20c0-41cb-8e95-1d737113d78a",
	"abb87cd6-7b24-40d3-b8f2-e9469e966d4b",
	"cdaf78e7-6eb4-4011-ade3-1790174ca0fb",
	"00000000-0000-0000-0000-000000000000");
INSERT INTO SM_SEME
	VALUES ("acdbc08a-20c0-41cb-8e95-1d737113d78a",
	"e7e462a8-2e99-474e-b577-75f610ad544e",
	"cdaf78e7-6eb4-4011-ade3-1790174ca0fb",
	"00000000-0000-0000-0000-000000000000");
INSERT INTO SM_STATE
	VALUES ("b73b6046-a7ff-4fc1-bf2b-f752713d3a8b",
	"cdaf78e7-6eb4-4011-ade3-1790174ca0fb",
	"00000000-0000-0000-0000-000000000000",
	'Destroying',
	2,
	1);
INSERT INTO SM_CH
	VALUES ("b73b6046-a7ff-4fc1-bf2b-f752713d3a8b",
	"abb87cd6-7b24-40d3-b8f2-e9469e966d4b",
	"cdaf78e7-6eb4-4011-ade3-1790174ca0fb",
	"00000000-0000-0000-0000-000000000000",
	'');
INSERT INTO SM_SEME
	VALUES ("b73b6046-a7ff-4fc1-bf2b-f752713d3a8b",
	"abb87cd6-7b24-40d3-b8f2-e9469e966d4b",
	"cdaf78e7-6eb4-4011-ade3-1790174ca0fb",
	"00000000-0000-0000-0000-000000000000");
INSERT INTO SM_CH
	VALUES ("b73b6046-a7ff-4fc1-bf2b-f752713d3a8b",
	"e7e462a8-2e99-474e-b577-75f610ad544e",
	"cdaf78e7-6eb4-4011-ade3-1790174ca0fb",
	"00000000-0000-0000-0000-000000000000",
	'');
INSERT INTO SM_SEME
	VALUES ("b73b6046-a7ff-4fc1-bf2b-f752713d3a8b",
	"e7e462a8-2e99-474e-b577-75f610ad544e",
	"cdaf78e7-6eb4-4011-ade3-1790174ca0fb",
	"00000000-0000-0000-0000-000000000000");
INSERT INTO SM_CRTXN
	VALUES ("b21d5b48-0880-44f6-b0ed-876b4aab8f35",
	"cdaf78e7-6eb4-4011-ade3-1790174ca0fb",
	"abb87cd6-7b24-40d3-b8f2-e9469e966d4b",
	"00000000-0000-0000-0000-000000000000");
INSERT INTO SM_TXN
	VALUES ("b21d5b48-0880-44f6-b0ed-876b4aab8f35",
	"cdaf78e7-6eb4-4011-ade3-1790174ca0fb",
	"acdbc08a-20c0-41cb-8e95-1d737113d78a",
	"00000000-0000-0000-0000-000000000000");
INSERT INTO SM_NSTXN
	VALUES ("718144e4-973a-4bf6-8f52-9cc932c6e07e",
	"cdaf78e7-6eb4-4011-ade3-1790174ca0fb",
	"acdbc08a-20c0-41cb-8e95-1d737113d78a",
	"e7e462a8-2e99-474e-b577-75f610ad544e",
	"00000000-0000-0000-0000-000000000000");
INSERT INTO SM_TXN
	VALUES ("718144e4-973a-4bf6-8f52-9cc932c6e07e",
	"cdaf78e7-6eb4-4011-ade3-1790174ca0fb",
	"b73b6046-a7ff-4fc1-bf2b-f752713d3a8b",
	"00000000-0000-0000-0000-000000000000");
INSERT INTO SM_MOAH
	VALUES ("4efe28d1-fc2d-4582-907c-69175cfa43a8",
	"cdaf78e7-6eb4-4011-ade3-1790174ca0fb",
	"acdbc08a-20c0-41cb-8e95-1d737113d78a");
INSERT INTO SM_AH
	VALUES ("4efe28d1-fc2d-4582-907c-69175cfa43a8",
	"cdaf78e7-6eb4-4011-ade3-1790174ca0fb");
INSERT INTO SM_ACT
	VALUES ("4efe28d1-fc2d-4582-907c-69175cfa43a8",
	"cdaf78e7-6eb4-4011-ade3-1790174ca0fb",
	1,
	'// Only create if type doesn''t exist
select many ordds from instances of ORDD;
if (cardinality ordds == 1)
   create object instance type of TYPE;
   create object instance core of CORE;
   relate type to core across R401;
   type.name = "ordinal";
   core.type = data_t::ORDINAL;
   relate core to self across R403;
   self.generateSupportedOperators();
else
   LOG::LogFailure(message:"Multiple creation of ORDD attempted!");
   generate ORDD2:destroy to self;
end if;',
	'',
	0);
INSERT INTO SM_TAH
	VALUES ("ec2fe9c7-84f3-49e6-942a-cbc808bf1683",
	"cdaf78e7-6eb4-4011-ade3-1790174ca0fb",
	"b21d5b48-0880-44f6-b0ed-876b4aab8f35");
INSERT INTO SM_AH
	VALUES ("ec2fe9c7-84f3-49e6-942a-cbc808bf1683",
	"cdaf78e7-6eb4-4011-ade3-1790174ca0fb");
INSERT INTO SM_ACT
	VALUES ("ec2fe9c7-84f3-49e6-942a-cbc808bf1683",
	"cdaf78e7-6eb4-4011-ade3-1790174ca0fb",
	1,
	'',
	'',
	0);
INSERT INTO SM_MOAH
	VALUES ("8fc8f2fc-77ff-448e-8f5f-ca91cdb51d4a",
	"cdaf78e7-6eb4-4011-ade3-1790174ca0fb",
	"b73b6046-a7ff-4fc1-bf2b-f752713d3a8b");
INSERT INTO SM_AH
	VALUES ("8fc8f2fc-77ff-448e-8f5f-ca91cdb51d4a",
	"cdaf78e7-6eb4-4011-ade3-1790174ca0fb");
INSERT INTO SM_ACT
	VALUES ("8fc8f2fc-77ff-448e-8f5f-ca91cdb51d4a",
	"cdaf78e7-6eb4-4011-ade3-1790174ca0fb",
	1,
	'select one core related by self->CORE[R403];
if (not empty core)
  core.destroy();
  unrelate core from self across R403;
  delete object instance core;
end if;',
	'',
	0);
INSERT INTO SM_TAH
	VALUES ("09bb4b44-ffd3-4281-911f-1fc1e1e41c87",
	"cdaf78e7-6eb4-4011-ade3-1790174ca0fb",
	"718144e4-973a-4bf6-8f52-9cc932c6e07e");
INSERT INTO SM_AH
	VALUES ("09bb4b44-ffd3-4281-911f-1fc1e1e41c87",
	"cdaf78e7-6eb4-4011-ade3-1790174ca0fb");
INSERT INTO SM_ACT
	VALUES ("09bb4b44-ffd3-4281-911f-1fc1e1e41c87",
	"cdaf78e7-6eb4-4011-ade3-1790174ca0fb",
	1,
	'',
	'',
	0);
INSERT INTO GD_MD
	VALUES ("f071a5c4-7b4d-4f70-839f-57c771f0c85c",
	8,
	"cdaf78e7-6eb4-4011-ade3-1790174ca0fb",
	40,
	0,
	0,
	1,
	1,
	1,
	12,
	1,
	0,
	0,
	0,
	0,
	0,
	'4.1.17',
	'shlaer-mellor-metamodel::metamodel::Shlaer-Mellor Metamodel::Type::Ordinal::Instance State Machine');
INSERT INTO GD_GE
	VALUES ("36d55fc0-4101-4980-a6de-d87a7619b2ff",
	"f071a5c4-7b4d-4f70-839f-57c771f0c85c",
	"acdbc08a-20c0-41cb-8e95-1d737113d78a",
	41,
	0,
	'shlaer-mellor-metamodel::metamodel::Shlaer-Mellor Metamodel::Type::Ordinal::Instance State Machine::Creating');
INSERT INTO GD_SHP
	VALUES ("36d55fc0-4101-4980-a6de-d87a7619b2ff");
INSERT INTO GD_NCS
	VALUES ("36d55fc0-4101-4980-a6de-d87a7619b2ff");
INSERT INTO DIM_ND
	VALUES (169.000000,
	97.000000,
	"36d55fc0-4101-4980-a6de-d87a7619b2ff");
INSERT INTO DIM_GE
	VALUES (4326.000000,
	3193.000000,
	"36d55fc0-4101-4980-a6de-d87a7619b2ff",
	"00000000-0000-0000-0000-000000000000");
INSERT INTO DIM_ELE
	VALUES ("36d55fc0-4101-4980-a6de-d87a7619b2ff",
	0,
	"00000000-0000-0000-0000-000000000000");
INSERT INTO DIM_CON
	VALUES ("f690e637-c918-4aec-b7bd-18e4e2157026",
	4398.000000,
	3193.000000,
	"36d55fc0-4101-4980-a6de-d87a7619b2ff");
INSERT INTO DIM_CON
	VALUES ("fb6d2904-0437-4f03-a1bf-8bf98f5f1030",
	4488.000000,
	3205.000000,
	"36d55fc0-4101-4980-a6de-d87a7619b2ff");
INSERT INTO DIM_CON
	VALUES ("a1983d85-1166-4ae6-96de-e0fc37311584",
	4410.000000,
	3290.000000,
	"36d55fc0-4101-4980-a6de-d87a7619b2ff");
INSERT INTO GD_GE
	VALUES ("6defb8ff-fa50-4892-805a-2d9e85055126",
	"f071a5c4-7b4d-4f70-839f-57c771f0c85c",
	"b21d5b48-0880-44f6-b0ed-876b4aab8f35",
	49,
	0,
	'ORDD1: create');
INSERT INTO GD_CON
	VALUES ("6defb8ff-fa50-4892-805a-2d9e85055126",
	"00000000-0000-0000-0000-000000000000");
INSERT INTO GD_CTXT
	VALUES ("d885c4a3-5676-4d83-a57f-02ca84382522",
	"6defb8ff-fa50-4892-805a-2d9e85055126",
	0,
	0.000000,
	0.000000);
INSERT INTO DIM_ND
	VALUES (0.000000,
	0.000000,
	"d885c4a3-5676-4d83-a57f-02ca84382522");
INSERT INTO DIM_GE
	VALUES (0.000000,
	0.000000,
	"d885c4a3-5676-4d83-a57f-02ca84382522",
	"00000000-0000-0000-0000-000000000000");
INSERT INTO DIM_ELE
	VALUES ("d885c4a3-5676-4d83-a57f-02ca84382522",
	0,
	"00000000-0000-0000-0000-000000000000");
INSERT INTO GD_CTXT
	VALUES ("d5f7b3e7-c2bf-4a52-9a00-091995a8ff1c",
	"6defb8ff-fa50-4892-805a-2d9e85055126",
	2,
	0.000000,
	0.000000);
INSERT INTO DIM_ND
	VALUES (0.000000,
	0.000000,
	"d5f7b3e7-c2bf-4a52-9a00-091995a8ff1c");
INSERT INTO DIM_GE
	VALUES (4265.000000,
	3142.000000,
	"d5f7b3e7-c2bf-4a52-9a00-091995a8ff1c",
	"00000000-0000-0000-0000-000000000000");
INSERT INTO DIM_ELE
	VALUES ("d5f7b3e7-c2bf-4a52-9a00-091995a8ff1c",
	0,
	"00000000-0000-0000-0000-000000000000");
INSERT INTO GD_CTXT
	VALUES ("a5a8492a-3af6-4eb3-8621-0e63094c1d3a",
	"6defb8ff-fa50-4892-805a-2d9e85055126",
	1,
	0.000000,
	0.000000);
INSERT INTO DIM_ND
	VALUES (0.000000,
	0.000000,
	"a5a8492a-3af6-4eb3-8621-0e63094c1d3a");
INSERT INTO DIM_GE
	VALUES (0.000000,
	0.000000,
	"a5a8492a-3af6-4eb3-8621-0e63094c1d3a",
	"00000000-0000-0000-0000-000000000000");
INSERT INTO DIM_ELE
	VALUES ("a5a8492a-3af6-4eb3-8621-0e63094c1d3a",
	0,
	"00000000-0000-0000-0000-000000000000");
INSERT INTO GD_LS
	VALUES ("22492ace-37b9-47ef-82fd-5a91b9b241c3",
	"6defb8ff-fa50-4892-805a-2d9e85055126",
	"00000000-0000-0000-0000-000000000000",
	"55ddda57-c7c3-41a8-ad27-2a96d72b4dd3",
	"6ad01cb3-e288-4dbb-967f-e07c45a3ff4e");
INSERT INTO DIM_WAY
	VALUES ("55ddda57-c7c3-41a8-ad27-2a96d72b4dd3",
	4398.000000,
	3193.000000,
	"6defb8ff-fa50-4892-805a-2d9e85055126",
	"00000000-0000-0000-0000-000000000000",
	"00000000-0000-0000-0000-000000000000");
INSERT INTO DIM_WAY
	VALUES ("6ad01cb3-e288-4dbb-967f-e07c45a3ff4e",
	4398.000000,
	3109.000000,
	"6defb8ff-fa50-4892-805a-2d9e85055126",
	"00000000-0000-0000-0000-000000000000",
	"55ddda57-c7c3-41a8-ad27-2a96d72b4dd3");
INSERT INTO DIM_GE
	VALUES (0.000000,
	0.000000,
	"6defb8ff-fa50-4892-805a-2d9e85055126",
	"00000000-0000-0000-0000-000000000000");
INSERT INTO DIM_ELE
	VALUES ("6defb8ff-fa50-4892-805a-2d9e85055126",
	0,
	"00000000-0000-0000-0000-000000000000");
INSERT INTO DIM_ED
	VALUES ("f690e637-c918-4aec-b7bd-18e4e2157026",
	"00000000-0000-0000-0000-000000000000",
	"6defb8ff-fa50-4892-805a-2d9e85055126");
INSERT INTO GD_GE
	VALUES ("c3a3bf34-7189-4875-8208-f2e7d1ab582d",
	"f071a5c4-7b4d-4f70-839f-57c771f0c85c",
	"b73b6046-a7ff-4fc1-bf2b-f752713d3a8b",
	41,
	0,
	'shlaer-mellor-metamodel::metamodel::Shlaer-Mellor Metamodel::Type::Ordinal::Instance State Machine::Destroying');
INSERT INTO GD_SHP
	VALUES ("c3a3bf34-7189-4875-8208-f2e7d1ab582d");
INSERT INTO GD_NCS
	VALUES ("c3a3bf34-7189-4875-8208-f2e7d1ab582d");
INSERT INTO DIM_ND
	VALUES (180.000000,
	84.000000,
	"c3a3bf34-7189-4875-8208-f2e7d1ab582d");
INSERT INTO DIM_GE
	VALUES (4326.000000,
	3373.000000,
	"c3a3bf34-7189-4875-8208-f2e7d1ab582d",
	"00000000-0000-0000-0000-000000000000");
INSERT INTO DIM_ELE
	VALUES ("c3a3bf34-7189-4875-8208-f2e7d1ab582d",
	0,
	"00000000-0000-0000-0000-000000000000");
INSERT INTO DIM_CON
	VALUES ("d6d67ac8-5eae-4c21-bc2b-03be96f812c0",
	4410.000000,
	3373.000000,
	"c3a3bf34-7189-4875-8208-f2e7d1ab582d");
INSERT INTO GD_GE
	VALUES ("807805a8-3e2f-4203-b8f0-eeed92eeab1c",
	"f071a5c4-7b4d-4f70-839f-57c771f0c85c",
	"718144e4-973a-4bf6-8f52-9cc932c6e07e",
	42,
	0,
	'shlaer-mellor-metamodel::metamodel::Shlaer-Mellor Metamodel::Type::Ordinal::Instance State Machine::Creating::ORDD2: destroy');
INSERT INTO GD_CON
	VALUES ("807805a8-3e2f-4203-b8f0-eeed92eeab1c",
	"00000000-0000-0000-0000-000000000000");
INSERT INTO GD_CTXT
	VALUES ("1e8a164c-c96e-4901-9af8-85d9687d4bf5",
	"807805a8-3e2f-4203-b8f0-eeed92eeab1c",
	0,
	0.000000,
	0.000000);
INSERT INTO DIM_ND
	VALUES (0.000000,
	0.000000,
	"1e8a164c-c96e-4901-9af8-85d9687d4bf5");
INSERT INTO DIM_GE
	VALUES (0.000000,
	0.000000,
	"1e8a164c-c96e-4901-9af8-85d9687d4bf5",
	"00000000-0000-0000-0000-000000000000");
INSERT INTO DIM_ELE
	VALUES ("1e8a164c-c96e-4901-9af8-85d9687d4bf5",
	0,
	"00000000-0000-0000-0000-000000000000");
INSERT INTO GD_CTXT
	VALUES ("388a3dfa-6f3f-4888-be19-f01eb1d854de",
	"807805a8-3e2f-4203-b8f0-eeed92eeab1c",
	2,
	0.000000,
	0.000000);
INSERT INTO DIM_ND
	VALUES (0.000000,
	0.000000,
	"388a3dfa-6f3f-4888-be19-f01eb1d854de");
INSERT INTO DIM_GE
	VALUES (4432.000000,
	3320.000000,
	"388a3dfa-6f3f-4888-be19-f01eb1d854de",
	"00000000-0000-0000-0000-000000000000");
INSERT INTO DIM_ELE
	VALUES ("388a3dfa-6f3f-4888-be19-f01eb1d854de",
	0,
	"00000000-0000-0000-0000-000000000000");
INSERT INTO GD_CTXT
	VALUES ("73503a0e-6c59-405e-9bfa-1d1724e5e689",
	"807805a8-3e2f-4203-b8f0-eeed92eeab1c",
	1,
	0.000000,
	0.000000);
INSERT INTO DIM_ND
	VALUES (0.000000,
	0.000000,
	"73503a0e-6c59-405e-9bfa-1d1724e5e689");
INSERT INTO DIM_GE
	VALUES (0.000000,
	0.000000,
	"73503a0e-6c59-405e-9bfa-1d1724e5e689",
	"00000000-0000-0000-0000-000000000000");
INSERT INTO DIM_ELE
	VALUES ("73503a0e-6c59-405e-9bfa-1d1724e5e689",
	0,
	"00000000-0000-0000-0000-000000000000");
INSERT INTO GD_LS
	VALUES ("81a8f049-25cc-4d56-9767-19de925ee0ff",
	"807805a8-3e2f-4203-b8f0-eeed92eeab1c",
	"00000000-0000-0000-0000-000000000000",
	"e820416d-2554-4953-adf2-ee3caeec1b50",
	"c79d8864-ec73-4959-ac78-5bf345e0d1ec");
INSERT INTO DIM_WAY
	VALUES ("e820416d-2554-4953-adf2-ee3caeec1b50",
	4410.000000,
	3290.000000,
	"807805a8-3e2f-4203-b8f0-eeed92eeab1c",
	"00000000-0000-0000-0000-000000000000",
	"00000000-0000-0000-0000-000000000000");
INSERT INTO DIM_WAY
	VALUES ("c79d8864-ec73-4959-ac78-5bf345e0d1ec",
	4410.000000,
	3373.000000,
	"807805a8-3e2f-4203-b8f0-eeed92eeab1c",
	"00000000-0000-0000-0000-000000000000",
	"00000000-0000-0000-0000-000000000000");
INSERT INTO DIM_GE
	VALUES (0.000000,
	0.000000,
	"807805a8-3e2f-4203-b8f0-eeed92eeab1c",
	"00000000-0000-0000-0000-000000000000");
INSERT INTO DIM_ELE
	VALUES ("807805a8-3e2f-4203-b8f0-eeed92eeab1c",
	0,
	"00000000-0000-0000-0000-000000000000");
INSERT INTO DIM_ED
	VALUES ("a1983d85-1166-4ae6-96de-e0fc37311584",
	"d6d67ac8-5eae-4c21-bc2b-03be96f812c0",
	"807805a8-3e2f-4203-b8f0-eeed92eeab1c");
INSERT INTO DIM_DIA
	VALUES ("f071a5c4-7b4d-4f70-839f-57c771f0c85c",
	'',
	1.000000,
	0.000000,
	0.000000,
	"00000000-0000-0000-0000-000000000000");
INSERT INTO O_OBJ_PROXY
	VALUES ("cbbb7c7b-8a2f-4e22-b17f-b8ab1d093e12",
	'Ordinal',
	411,
	'ORDD',
	'"Ordinal data types are used to express order, such as first, second, and so on.
However, the subject of ordering is a lot more interesting that just this 
common example; hence the following digression.
An ordering is always applied to a set of elements. The set can be finite or 
infinite. There are two types of orderings to consider. The first is the most 
familiar; it is a complete ordering. What this means is that you can express 
the concept of "before" (represented as <) between any two members of the set. 
Hence, 7 is before 26 ( 7 < 26 ). A complete ordering has the property of 
transitivity:
    If A is before B, and B is before C, then A is before C.
A practical example would be the ordering of the cars that make up a freight 
train. Assume we define a first car. Then we could pick any two cars and easily 
determine which one was before the other.
Far more interesting are the partial orderings. Consider this sketch of a 
partial ordering.
A -> B -> C -> D
          + -> E -> F -> G
Using the obvious interpretation, we can say that A < B (A is before B), C < D, 
C < E, and E < F. But we cannot say anything about the relationship between D 
and F: They are non-comparable.
Examples of structures that are partially ordered include PERT charts, trees 
used for any purpose, interlock chains, the connectivity of an electric grid, 
and the like. All of these can be modeled in complete detail using standard OOA 
relationships; for examples see [Starr96] and Chapter 4 of Shlaer-Mellor
Method: The OOA96 Report. Note, however, that when modeling such a structure, 
one frequently finds it necessary to employ quite a number of ancillary objects 
(such as root node, parent node, child node, and leaf node) together with a 
significant set of relationships  all required to express a generally 
well-known concept. While this can be quite satisfying when one is in a purist 
frame of mind, the pragmatist points out that such constructions are often of 
limited value, obscuring, as they can, the true purpose of the model. This 
becomes particularly pertinent when constructing models of an architecture, 
where ordering is a particularly prominent theme (see The Timepoint 
Architecture chapter). Hence we have defined the ordinal base data type, 
leaving it to the judgment of the analyst as for when to use an ordinal 
attribute as opposed to using more fully expressive OOA objects and 
relationships.

Returning now to the main theme, an ordinal data type is defined by:
    data type <data type name> is ordinal
The operations permitted for ordinal data types are
    - the comparisons = and != (identical and not identical in value)
    - the comparisons < (read as "before"), >, <= , and >= . Each such 
        comparison yields a data element of base type boolean if the ordering 
        is complete, and of base type extended boolean if the ordering is
        partial." [OOAData]
        NOTE: This metamodel doesn''t support an extended boolean type, so a 
        comparison of partial ordering will always yield false.
    - the set existence checks of empty and not empty" [OOAData]

Ordering implies a direct path where one can follow the path in any direction 
to determine what is before and what is after. Changing direction isn''t 
permitted (i.e., taking another path), and traversing multiple paths is another 
operation (e.g., get number of items after C on path 1 yields 1 (D), and get 
number of items after C on path 2 yields 3 (E, F, G); the total number of items 
after C is 4 (result 1 + result 2).
    Any comparison operations have to be done on the same path, so an "illegal" 
comparison across two paths will yield a false. The analyst must be cautioned 
about this rule, or the tool implementer could make such comparisons result in 
an error. This rule on paths obviates the need for an "extended boolean" as 
described in [OOAData].

Ordering is done based upon a common index value. This means that all the 
members of the ordinal must be of the same type, but not all types can be part 
of an ordinal. e.g., composites, booleans, ordinals, and enumerations.',
	"00000000-0000-0000-0000-000000000000",
	'../Ordinal.xtuml');
